#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Created by master on 2017/2/26

# 不是一次性把所有内容读入内存 而是通过计算不断计算出下一个值
#

names = iter(["alex", "jack", "lily"])

# print(names)

# print(names.__next__())

'''
f = open("__init__.py")

# 读取所有内容到内存
# f.read()
# f.readlines()

# 迭代读取的方式(推荐使用这种读取方法)
for line in f:
    print(line)

f.close()

'''


# 生成器 返回一个迭代器
# 含有yield的函数就是生成器

def cash_money(amount):
    while amount > 0:
        amount -= 100
        # yield返回一个值给next  也可以接收值
        yield '取了100'  # 保存函数的中断状态  可以先去做别的事情 等下再接着上次中断的状态继续执行
        print("又来取钱啦！")


atm = cash_money(500)

print(atm.__next__())
print(atm.__next__())
print("叫个大保健。。。")
print(atm.__next__())
print(atm.__next__())
print(atm.__next__())
